https://mp.weixin.qq.com/s/oS_09ZwL5o3jJyTKvhvgSg
<!-- 什么是执行上下文 -->
<!-- 
  在JavaScript中，使JavaScript代码得以执行的环境被称为JavaScript执行上下文。
 -->
<!-- 执行栈遵循LIFO逻辑，后进先出 -->
 <!-- 执行上下文的类型 -->

 <!-- 
  全局执行上下文（GEC）
  全局执行上下文是最外层的执行上下文，任何不在函数中执行的代码都位于全局执行上下文中。一个程序只存在一个全局执行上下文。

  函数执行上下文（FEC）
  每个函数都拥有自己的执行上下文，但只有在函数被调用的时候才会被创建。一个程序可以有任意数量的函数执行上下文。

  Eval执行上下文 
  运行在eval函数内部的代码也拥有自己的执行上下文。
  -->
  